package com.cmc.cloud.cmclink.doc.api.document.req.so;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import org.hibernate.validator.constraints.Length;

import java.util.List;

/**
 * 特种货审批oog Base VO，提供给添加、修改、详细的子 VO 使用
 * 如果子 VO 存在差异的字段，请不要添加到这里，影响 Swagger 文档生成
 *
 * @author codegen
 */
@Data
public class SpecialCargoOogBaseVO {

    private Long id;

    @Schema(description = "箱型ID")
    private Long cntrId;

    @Schema(description = "分体装卸货物 BB cargo")
    private Boolean breakbulkCargo;

    @Schema(description = "长度")
    private Integer overallLength;

    @Schema(description = "宽度")
    private Integer overallWidth;

    @Schema(description = "高度")
    private Integer overallHeight;

    @Schema(description = "前超")
    private Integer overForward;

    @Schema(description = "后超")
    private Integer overAfter;

    @Schema(description = "左超")
    private Integer overLeft;

    @Schema(description = "右超")
    private Integer overRight;

    @Schema(description = "上超")
    private Integer overHeight;

    @Schema(description = "货物描述", example = "你说的对")
    @Length(max = 500, message = "货物描述支持最大长度{max}")
    private String cargoDescription;

    @Schema(description = "角柱状态", example = "2")
    @Length(max = 64, message = "角柱状态支持最大长度{max}")
    private String cornerPostStatus;

    @Schema(description = "老系统角柱状态字段值导入这个字段")
    @Length(max = 115, message = "老系统角柱状态字段值导入这个字段支持最大长度{max}")
    private String cornerPostDesc;

    @Schema(description = "特殊存储要求")
    @Length(max = 200, message = "特殊存储要求支持最大长度{max}")
    private String specialStorageRequire;

    @Schema(description = "装船要求")
    private String loadingRequest;

    @Schema(description = "装船要求数组 专给网厅使用")
    private List<String> loadingRequestList;
}
